<?php

/**
 * 用户模型
 */

namespace Common\Model;

use Think\Model;

class NavModel extends Model {

    protected $tableName = 'nav';

    /**
     * 加载列表
     */
    public function loadList($map = array()) {
        if (($data = F('Cache_Nav')) == false) {
            set_time_limit(0);
            //获取服务项目并格式化
            $list = $this->where($map)->field('nav_id as id,type,pid,link,sort_order,name,remark')->order('sort_order asc')->select();
            $data = $this->getTree($list);
            F('Cache_Nav', $data);
        }
        return $data;
    }

    /**
     * 生成菜单导航
     * 
     * @param type $pid    父id
     * @param type $level  当前的深度
     * @param type $order 排序
     * @param type $default_map  默认的条件：比如del是否删除，is_active是否激活
     * @return type
     */
    private function getTree($item) {
        foreach ($item as $value) {
            $id = $value['id'];
            $list[$id] = $value;
        }
        //将列表设置成树形式
        $list = list_to_tree($list, 'id', 'pid', 'child', 0);
        return $list;
    }

}
